// -------------------------------------------------------
// Copyright (c) Wild West Games 2006, All Rights Reserved
// -------------------------------------------------------

#ifndef WEAPON_SCOPED_H
#define WEAPON_SCOPED_H

#include "Wanted_Shared/wanted_shareddefs.h"
#include "weapon_hl2mpbasehlmpcombatweapon.h"

#ifdef CLIENT_DLL
#define CWeaponScoped C_WeaponScoped
#endif

class CWeaponScoped : public CBaseHL2MPCombatWeapon
{
	DECLARE_CLASS( CWeaponScoped, CBaseHL2MPCombatWeapon );

public:
	DECLARE_NETWORKCLASS(); 

	CWeaponScoped( void );

	bool IsZooming(void) { return m_bZooming; }

#ifndef CLIENT_DLL // Scope functionality is controlled purely by the server

	virtual void ItemBusyFrame(void);
	virtual void ItemPostFrame(void);

	virtual bool Reload(void);
	virtual bool Holster(CBaseCombatWeapon* pSwitchingTo);

	virtual float GetZoomFOV(void) = 0;
	virtual ScopeType GetScopeType(void) = 0;

protected:
	virtual void CheckZoomToggle(void);

	void ToggleZoom(void);
	void Zoom(void);
	void Unzoom(void);

#endif

private:
	CNetworkVar(bool, m_bZooming);
};

#endif